#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>

//枚举
//枚举，顾名思义就是一一列举
//关键字是enum
//
//enum Day
//{
//	//星期的可能取值 - 枚举常量
//	Mon,
//	Tues,
//	Wed,
//	Thur,
//	Fri,
//	Sat,
//	Sun
//};
//
//enum Sex
//{
//	Male,
//	Female,
//	Secret
//};
//enum Color
//{
//	
//	RED,//0
//	GREEN,//1
//	YELLOW//2
//};
//
//int main()
//{
//	enum Color color = RED;
//
//	//RED = 5;//err,枚举常量不能修改
//	printf("%d\n", RED);
//	printf("%d\n", YELLOW);
//	printf("%d\n", GREEN);
//
//	return 0;
//}



//也可以使用#define定义常量，为什么非要使用枚举
//枚举类型的优点
//1.增加代码的可读性和可维护性
//
//
//void menu()
//{
//	printf("****************************\n");
//	printf("*******1. ADD 2.SUB    *****\n");
//	printf("*******3. MUL 4.DIV    ****\n");
//	printf("*******   0. exit      *****\n");
//	printf("****************************\n");
//}
//
//enum Option
//{
//	EXIT,//0
//	ADD,//1
//	SUB,//2
//	MUL,//3
//	DIV//4
//};
//int main()
//{
//	menu();
//	printf("请输入操作\n");
//	int input = 0;
//	scanf("%d", &input);
//	switch (input)
//	{
//	case ADD :
//		break;
//	case SUB:
//		break;
//	case MUL:
//		break;
//	case DIV:
//		break;
//	case EXIT:
//		break;
//	default:
//		break;
//	}
//	return 0;
//}

//2.和#define定义的标识符比较 枚举有类型检查，更加严谨

//enum Sex
//{
//	MALE,
//	FEMALE,
//	SECRET
//};
//
//int main()
//{
//	enum Sex s = 0;//cpp中Err
//	return 0;
//}


//3.使用方便，一次可以定义多个变量

//4.枚举常量是遵循作用域规则的，枚举声明在函数内，就只能在函数中使用




